﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Dominio
{
    public class AdmHandler
    {
        private IDatos datos;
        private static AdmHandler instance = null;

        private AdmHandler()
        {

        }
        
        public void setDatosInstance(IDatos dat)
        {
            datos = dat;
        }

        public static AdmHandler getInstance()
        {
            if (instance == null)
            {
                instance = new AdmHandler();
            }
            return instance;

        }

        #region ABM Categorias

        public int agregarCategoria(string desc)
        {
            return datos.altaCategoria(desc);
        }

        public void modificarCategoria(string d, string m)
        {
            datos.modificarCategoria(d, m);
        }

        public void bajaCategoria(string d)
        {
            datos.bajaCategoria(d);
        }

        public List<BLCategoria> getCategorias()
        {
            return datos.getBLCategorias();
        }

        #endregion

        #region ABM Productos

        public int agregarProducto(string nombre, string desc, string fab, decimal precio, int idcat)
        {
            return datos.altaProducto(nombre, desc, fab, precio, idcat);
        }

        public void modificarProducto(string nombre, string desc, string fab, decimal precio, int idcat)
        {
            datos.modificarProducto(nombre, desc, fab, precio, idcat);
        }

        public void bajaProducto(int idProd)
        {
            datos.bajaProducto(idProd);
        }

        void agregarVideo_Producto(int idProd, Byte[] video)
        {
            datos.agregarVideo_Producto(idProd, video);
        }

        void eliminarVideo_Producto(int idProd)
        {
            datos.eliminarVideo_Producto(idProd);
        }

        #endregion
    }
}
